package com.sky.service;

import com.sky.dto.CategoryDTO;
import com.sky.dto.CategoryPageQueryDTO;
import com.sky.entity.Category;
import com.sky.result.PageResult;

import java.util.List;

public interface PaginationService {

    /**
     * 页面
     *
     * @param categoryPageQueryDTO 分类页面查询d去
     * @return {@link PageResult}
     */
    PageResult page(CategoryPageQueryDTO categoryPageQueryDTO);


    /**
     * 添加分页
     *
     * @param categoryDTO 类别d到
     */
    void addPagination(CategoryDTO categoryDTO);

    /**
     * 按id删除分类
     *
     * @param id id
     */
    void deleteClassificationById(Long id);

    /**
     * 修改分类
     *
     * @param categoryDTO 类别d到
     */
    void modifyClassification(CategoryDTO categoryDTO);

    /**
     * 更改状态
     *
     * @param id     id
     * @param status 状态
     */
    void changeStatus(Long id, Integer status);

    /**
     * 按类型查询
     *
     * @param type 类型
     * @return {@link List}<{@link Category}>
     */
    List<Category> queryByType(Integer type);
}
